package org.NooLab.browserapp.app;


import org.NooLab.structures.ArgumentsPublicIntf;
import org.NooLab.structures.InstanceProcessControlIntf;




public class BrousProperties {

	transient BrousProperties lgProperties ;
	transient FileOrganizer fileOrganizer;
	PersistenceSettings persistenceSettings;
	
	private String systemRootDir = "" ;
	private int multiProcessingLevel = 1 ;
	private String algorithmsConfigPath = "" ;
	private String applicationContext = "" ;
	private String onCompletion = "" ;
	private String startupTraceInfo = "" ;
	private boolean activateForSearchTerms;
	private String activeLanguage="";
	private String applicationHomeDir="";
	private boolean mergeResults;


	// ========================================================================
	public BrousProperties(){
		lgProperties = this;
		
		fileOrganizer = new FileOrganizer(this);
		persistenceSettings = new PersistenceSettings(this,fileOrganizer);
		fileOrganizer.update();
		
	}

	public static BrousProperties getInstance() {
		// 
		BrousProperties nlpProp = new BrousProperties();
		return nlpProp;
	}
	// ========================================================================


	public void setReference(BrousProperties lprop){
		lgProperties = lprop;
	}
	
	public String getSystemRootDir() {
		// 
		return systemRootDir;
	}

	public void setSystemRootDir(String _path) {
		
		systemRootDir = _path;
	}

	public void setApplicationContext(String contextMode) {
		
		
	}

	public PersistenceSettings getPersistenceSettings() {
		
		return persistenceSettings;
	}

	public FileOrganizer getFileOrganizer() {
		
		return fileOrganizer;
	}

	public void setOnCompletion(String onCompletion) {
		
		this.onCompletion = onCompletion;
	}
	public String getOnCompletion() {
		return onCompletion;
	}

	
	public void save() {
		
		
	}

	public String getApplicationContext() {
		
		return null;
	}

	public void setFlavor(String string) {
		
		
	}

	public void setDataSourceName(String dataSource) {
		
		
	}

	public void setDataSourcing(int dspSourcedTcp, int i) {
		
		
	}

	public boolean isITexxContext() {
		//
		boolean rB=false;
		rB = applicationContext.contentEquals( InstanceProcessControlIntf._APP_CONTEXT_ITEXX);
		
		return rB;
	}

	public void setAlgorithmsConfigPath(String path) {
		algorithmsConfigPath = path;
		
	}

	public void setMultiProcessingLevel(int mpi) {
		multiProcessingLevel = mpi;
		
	}

	public void setInitializationOK(boolean b) {
		
		
	}

	public String getStartupTraceInfo() {
		
		return startupTraceInfo;
	}

	public BrousProperties getSelfReference() {
		// 
		return this;
	}

	public boolean activateForSearchTerms() {
		// 
		return activateForSearchTerms;
	}

	public boolean isActivateForSearchTerms() {
		return activateForSearchTerms;
	}

	public void setActivateForSearchTerms(boolean flag) {
		this.activateForSearchTerms = flag;
	}

	public int getMultiProcessingLevel() {
		return multiProcessingLevel;
	}

	public String getAlgorithmsConfigPath() {
		return algorithmsConfigPath;
	}

	public void setPersistenceSettings(PersistenceSettings persistenceSettings) {
		this.persistenceSettings = persistenceSettings;
	}

	public void setStartupTraceInfo(String startupTraceInfo) {
		this.startupTraceInfo = startupTraceInfo;
	}

	public String getActiveLanguage() {
		return activeLanguage;
	}
	public void setActiveLanguage(String langCode) {
		activeLanguage = langCode;
	}

	public void setApplicationHomeDir(String homedir) {
		applicationHomeDir = homedir;
	}
	public String getApplicationHomeDir() {
		return applicationHomeDir ;
	}

	public boolean mergeResults() {
		return mergeResults;
	}
	public void setMergeResults(boolean flag) {
		mergeResults = flag;
	}

	public boolean isMergeResults() {
		return mergeResults;
	}

	
	
	
}
